package org.wukongcrm.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
    * 销售换货申请单表
    */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "exchange_request")
public class ExchangeRequest implements Serializable {
    /**
     * 换货申请单id
     */
    @TableId(value = "exchange_request_no", type = IdType.INPUT)
    private Integer exchangeRequestNo;

    /**
     * 换货申请单编号
     */
    @TableField(value = "exchange_request_code")
    private String exchangeRequestCode;

    /**
     * 换货申请单单据日期
     */
    @TableField(value = "exchange_request_date")
    private Date exchangeRequestDate;

    /**
     * 客户表id
     */
    @TableField(value = "customer_id")
    private Integer customerId;

    /**
     * 负责人表id
     */
    @TableField(value = "owner_user_id")
    private Integer ownerUserId;

    /**
     * 客户收获地址
     */
    @TableField(value = "customer_address")
    private String customerAddress;

    /**
     * 客户详细地址
     */
    @TableField(value = "customer_detail_address")
    private String customerDetailAddress;

    /**
     * 换货原因
     */
    @TableField(value = "exchange_reason")
    private String exchangeReason;

    /**
     * 交货日期
     */
    @TableField(value = "delivery_date")
    private Date deliveryDate;

    /**
     * 生产负责人
     */
    @TableField(value = "production_manager")
    private Integer productionManager;

    /**
     * 备注
     */
    @TableField(value = "notes")
    private String notes;

    /**
     * 换入产品金额 元
     */
    @TableField(value = "ingoods_amount")
    private BigDecimal ingoodsAmount;

    /**
     * 换出产品金额
     */
    @TableField(value = "outgoods_amount")
    private BigDecimal outgoodsAmount;

    /**
     * 应收金额
     */
    @TableField(value = "amount_receivable")
    private BigDecimal amountReceivable;

    /**
     * 附件
     */
    @TableField(value = "file_id")
    private Integer fileId;

    /**
     * 出库状态
     */
    @TableField(value = "outbound_status")
    private Integer outboundStatus;

    /**
     * 入库状态
     */
    @TableField(value = "store_status")
    private Integer storeStatus;

    /**
     * 审核状态(0审核中，1通过，2拒绝)
     */
    @TableField(value = "review_status")
    private Integer reviewStatus;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    private static final long serialVersionUID = 1L;
}